home *** CD-ROM | disk | FTP | other *** search
/ Hottest 6 / Hottest 6 (1996)(PDSoft)[!].iso / software / fredfish / 1050.lha / Programs / Binary_dt / source / DMakeFile < prev    next >
Makefile  |  1994-12-28  |  4KB  |  179 lines

  1. #
  2. # $PROJECT: binary.datatype
  3. #
  4. # $VER: makefile 1.3 (16.11.94)
  5. #
  6. # by Stefan Ruppert
  7. #
  8. # (C) Copyright 1994
  9. #
  10.  
  11. VERSION  = 39
  12. REVISION = 6
  13.  
  14. NAME     = binary
  15. SHNAME   = bindt
  16. SUFFIX   = .datatype
  17. HEADER   = /include/datatypes/$(NAME)class.h
  18. COPYRIGHT= "Copyright by Stefan Ruppert (C) 1994"
  19. REVFILE  = $(NAME)$(SUFFIX).rev
  20.  
  21. LIBS     = Sys:Classes/Datatypes/$(NAME)$(SUFFIX)
  22. RLIBS    = /Classes/datatypes/$(NAME)$(SUFFIX)
  23.  
  24. #
  25. # docs and guides
  26. #
  27.  
  28. INCLUDE      = datatypes
  29. INCLUDEDIRS  = $(INCLUDE:"*":"/include/*")
  30.  
  31. AUTODOCS     = /doc/$(NAME)_dtc.doc
  32. GUIDE        = /help/$(NAME)_dtc
  33. GUIDEDIR     = /help
  34. README       = /ReadMe
  35.  
  36.  
  37. #
  38. # archive definition
  39. #
  40.  
  41. ARCHIVE       = hd1:Archive/$(NAME)dt.lha
  42. ARCHIVECHANGE = dcc:archive/$(NAME)dt
  43.  
  44. RELEASE       = hd1:Release/$(NAME)dt_v$(VERSION).$(REVISION).lha
  45. RELEASEFILES  = binarydt/#? binarydt.info
  46.  
  47. #
  48. # source
  49. #
  50.  
  51. PROTO    = protos.h
  52. SRCS     = classinit.asm classbase.c dispatch.c endcode.asm
  53. OBJ      = classinit.o classbase.o dispatch.o endcode.o
  54.  
  55. #
  56. # object dirs and files
  57. #
  58.  
  59. OD       = otmp:$(SHNAME)
  60. ODD      = $(OD)/db
  61. ODR      = $(OD)/rls
  62.  
  63. OBJS     = $(OBJ:"*":"$(ODD)/*")
  64. ROBJS    = $(OBJ:"*":"$(ODR)/*")
  65.  
  66. #
  67. # SAS definition
  68. #
  69.  
  70. DEBUG    = DEBUG=LINE DEFINE=DEBUG
  71. SDEBUG   = NODEBUG
  72. SCOPTS   = VERBOSE NOSTKCHK GST=sc:def.m
  73. OPTIMIZE = OPT OPTTIME
  74. LIB      = lib:amiga.lib lib:sc.lib
  75.  
  76. CPYSAS   = $(INCLUDE:"/include/*":"include:*")
  77. STUBSAS  = /lib/stub/#?.asm /lib/tags/#?.c
  78. LLIBSAS  = /lib/slib/$(NAME).lib
  79.  
  80. #
  81. # dirs to create
  82. #
  83.  
  84. DIRCREATE= $(OD) $(ODD) $(ODR) $(INCLUDEDIRS)
  85.  
  86. all: $(DIRCREATE) $(PROTO) $(OBJS) $(LIBS)
  87.  
  88. $(PROTO) : $(SRCS)
  89.    mkproto %(right) TO %(left)
  90.  
  91. $(OBJS) : $(SRCS)
  92.    sc $(DEBUG) $(SCOPTS) %(right:"*.asm":"ASM *.asm") %(right:"*.c":"CSRC *.c") \
  93.       OBJNAME $(ODD)/
  94.  
  95. $(LIBS) : $(OBJS)
  96.    slink from %(right) to %(left) noicons verbose smalldata smallcode \
  97.          LIB $(LIB) lib:debug.lib
  98.  
  99. #
  100. # dependencies
  101. #
  102.  
  103. $(ODD)/classinit.o : $(REVFILE)
  104.  
  105. #
  106. # release entry point
  107. #
  108.  
  109. release: $(DIRCREATE) $(ROBJS) $(RLIBS) $(AUTODOCS) $(GUIDE) $(RELEASE)
  110.  
  111. $(ROBJS) : $(SRCS)
  112.    sc $(SCOPTS) OPT OPTTIME %(right:"*.asm":"ASM *.asm") %(right:"*.c":"CSRC *.c") \
  113.       OBJNAME $(ODR)/
  114.  
  115. $(RLIBS) : $(ROBJS)
  116.    slink from %(right) to %(left) ND NOICONS VERBOSE SMALLDATA SMALLCODE \
  117.          LIB $(LIB)
  118.   copy %(left) to sys:classes/datatypes/$(NAME)$(SUFFIX)
  119.  
  120. $(ODR)/classinit.o : $(REVFILE)
  121.  
  122. #
  123. # make autodoc for the library
  124. #
  125.  
  126. autodocs: $(AUTODOCS)
  127.  
  128. $(AUTODOCS) :: $(SRCS)
  129.    makedoc %(right) AUTODOC %(left) BEGIN "/**LL******" END "******" \
  130.            SKIPSTRING "**" CONVERTCOMMENTS TOC VERBOSE
  131.  
  132. #
  133. # convert autodoc to an amigaguide
  134. #
  135.  
  136. $(GUIDE) : $(AUTODOCS)
  137.    cd /doc
  138.    makexref "" to t:binarydt.xref category TEMP NOICON
  139.    cd /include
  140.    makexref "" to t:binarydtinc.xref category TEMP NOICON
  141.    cd /source
  142.    loadxref t:binarydt.xref t:binarydtinc.xref
  143.    xrefconvert FROM %(right) TO $(GUIDEDIR) VERBOSE
  144.    expungexref category TEMP
  145.  
  146. $(GUIDE) : $(HEADER)
  147.  
  148.  
  149.  
  150. $(RELEASE) : $(RELEASEFILES)
  151.    cd //
  152.    lha -r u $(RELEASE) $(RELEASEFILES)
  153.    cd binarydt/source
  154.    echo "Short:    binary datatype v$(VERSION).$(REVISION) for >= OS3.0" >pipe:aminetreadme
  155.    echo "Author:   Stefan Ruppert" >pipe:aminetreadme
  156.    echo "Type:     util/wb*n" >pipe:aminetreadme
  157.    copy $(README) to pipe:aminetreadme
  158.    type pipe:aminetreadme >%(left:"*.lha":"*.readme")
  159.  
  160. #
  161. # make archive of all files
  162. #
  163.  
  164. archive: $(ARCHIVE)
  165.  
  166. $(ARCHIVE) : $(ARCHIVECHANGE)
  167.    linkarchive $(NAME)
  168.    cd /
  169.    lha -r -P-3 u $(ARCHIVE) *
  170.    cd source
  171.  
  172. #
  173. # some setups for the make
  174. #
  175.  
  176. $(DIRCREATE) : $(DIRCREATE)
  177.    makedir %(left)
  178.  
  179.